﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Text;
using SGC.BE;
using SGC.BL.BL_CcuActualizarPlanAuditoria;

namespace SGC.Web.ModuloCalidad.Mantenimientos
{
    public partial class fmrConsultarCheckListProcedimiento : System.Web.UI.Page
    {

        private List<BE_Proceso> lstProcesos = null;

        protected void Page_Load(object sender, EventArgs e)
        {
            lstProcesos = BL_CcuActualizarPlanAuditoria.obtenerProcesos_BL();
            if (!IsPostBack)
            {
                ddl_Procesos.SelectedIndexChanged -= new System.EventHandler(this.ddl_Procesos_SelectedIndexChanged);
                ddl_Procesos.DataSource = BL_CcuActualizarPlanAuditoria.obtenerProcesos_BL();
                ddl_Procesos.DataTextField = "NOMBRE";
                ddl_Procesos.DataValueField = "CODIGO_PROCESO";
                ddl_Procesos.DataBind();
                ddl_Procesos_SelectedIndexChanged(new Object(), new EventArgs());
                ddl_Procesos.SelectedIndexChanged += new System.EventHandler(this.ddl_Procesos_SelectedIndexChanged);
                //gv_Procedimientos.DataSource = lstProcesos;
                //gv_Procedimientos.DataBind();
            }            
        }

        protected void cmd_Nuevo_Click(object sender, EventArgs e)
        {
            if (gv_Procedimientos.Rows.Count > 0)
            {
                BE_Procedimiento objProcedimiento = new BE_Procedimiento();
                objProcedimiento.CODIGO_PROCESO = ddl_Procesos.SelectedValue;
                objProcedimiento.CODIGO_PROC = "";
                Session["Procedimiento"] = objProcedimiento;

                StringBuilder strBuilder = new StringBuilder();
                strBuilder.Append("~/ModuloCalidad/Mantenimientos/frmActualizarCheckListProcedimiento.aspx");
                strBuilder.Append("?DesProceso=" + ddl_Procesos.SelectedItem.Text);
                Response.Redirect(strBuilder.ToString());
            }
            else
            {
                enviarAlerta("No existen procedimientos asociados al proceso.");
            }
        }

        protected void cmd_Modificar_Click(object sender, EventArgs e)
        {
            BE_Procedimiento objProcedimiento = new BE_Procedimiento();
            objProcedimiento.CODIGO_PROCESO = ddl_Procesos.SelectedValue;
            objProcedimiento.CODIGO_PROC = "";

            foreach (GridViewRow fila in gv_Procedimientos.Rows)
            {
                RadioButton rbt = (RadioButton)fila.FindControl("rb_ElegirProcedimiento");
                if (rbt.Checked)
                {
                    objProcedimiento.CODIGO_PROC = fila.Cells[1].Text;                    
                    objProcedimiento.NOMBRE = fila.Cells[2].Text;
                }
            }

            if (!string.IsNullOrEmpty(objProcedimiento.CODIGO_PROC))
            {
                StringBuilder strBuilder = new StringBuilder();
                strBuilder.Append("~/ModuloCalidad/Mantenimientos/frmActualizarCheckListProcedimiento.aspx");
                strBuilder.Append("?DesProceso=" + ddl_Procesos.SelectedItem.Text);
                Session["Procedimiento"] = objProcedimiento;
                Response.Redirect(strBuilder.ToString());
            }
            else
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "_mensaje", "alert('Se debe seleccionar un procedimiento para modificar.');", true);
            }
            
        }

        protected void cmd_Salir_Click(object sender, EventArgs e)
        {
            StringBuilder strBuilder = new StringBuilder();
            strBuilder.Append("~/frmPaginaPrincipal.aspx");
            Response.Redirect(strBuilder.ToString());
        }

        protected void btn_Imprimir_Click(object sender, EventArgs e)
        {
            StringBuilder strBuilder = new StringBuilder();
            strBuilder.Append("~/ModuloCalidad/Reporte/frmReportePlanesAuditoria.aspx");            
            Response.Redirect(strBuilder.ToString());
        }

        protected void ddl_Procesos_SelectedIndexChanged(object sender, EventArgs e)
        {
            BE_Procedimiento objProcedimiento = new BE_Procedimiento();
            objProcedimiento.CODIGO_PROCESO = ddl_Procesos.SelectedValue.ToString();
            gv_Procedimientos.DataSource = BL_CcuActualizarPlanAuditoria.obtenerProcedimientos_DL(objProcedimiento);
            gv_Procedimientos.DataBind();

        }

        private void enviarAlerta(String Mensaje)
        {
            ScriptManager.RegisterStartupScript(this, this.GetType(), "_mensaje", "alert('" + Mensaje + "');", true);
        }

    }
}